package fi.pakkanen.yarpg.creature;


/**
 * The cap values for the attributes, that a race can have..
 * 
 * @author Oliver Michels <oliver.michels@gmx.net>
 * 
 */
public final class AttributeCaps {

	private final int maxStrength;
	private final int maxDexterity;
	private final int maxConstitution;
	private final int maxIntelligence;
	private final int maxWisdom;
	private final int maxCharisma;

	/**
	 * Create a new holder for the attribute caps, that a race can have.
	 * 
	 * @param strength
	 *            the maximum strength
	 * @param dexterity
	 *            the maximum dexterity
	 * @param constitution
	 *            the maximum constitution
	 * @param intelligence
	 *            the maximum intelligence
	 * @param wisdom
	 *            the maximum wisdom
	 * @param charisma
	 *            the maximum charisma
	 */
	AttributeCaps(int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma) {
		maxStrength = strength;
		maxDexterity = dexterity;
		maxConstitution = constitution;
		maxIntelligence = intelligence;
		maxWisdom = wisdom;
		maxCharisma = charisma;
	}

	/**
	 * Get the maximum strength that a race can have.
	 * 
	 * @return the maximum strength
	 */
	public final int getMaxStrength() {
		return maxStrength;
	}

	/**
	 * Get the maximum dexterity that a race can have.
	 * 
	 * @return the maximum dexterity
	 */
	public final int getMaxDexterity() {
		return maxDexterity;
	}

	/**
	 * Get the maximum constitution that a race can have.
	 * 
	 * @return the maximum constitution
	 */
	public final int getMaxConstitution() {
		return maxConstitution;
	}

	/**
	 * Get the maximum intelligence that a race can have.
	 * 
	 * @return the maximum intelligence
	 */
	public final int getMaxIntelligence() {
		return maxIntelligence;
	}

	/**
	 * Get the maximum wisdom that a race can have.
	 * 
	 * @return the maximum wisdom
	 */
	public final int getMaxWisdom() {
		return maxWisdom;
	}

	/**
	 * Get the maximum charisma that a race can have.
	 * 
	 * @return the maximum charisma
	 */
	public final int getMaxCharisma() {
		return maxCharisma;
	}

	@Override
	public String toString() {
		return "AttributeCaps[maxStrength=" + maxStrength + ", maxConstitution=" + maxConstitution
		        + ", maxIntelligence=" + maxIntelligence + ", maxWisdom=" + maxWisdom + ", maxCharisma=" + maxCharisma
		        + "]";
	}

}
